/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package stud.cp.user.valueobjects;

import java.math.BigInteger;

/**
 * Класс, описывающий запись в таблице
 * object_references
 * @author Morfant
 */
public class DBObjectReference {

    /**
     * ID ссылочной таблицы
     */
    private BigInteger object_reference_id;
    /**
     * ID оружия, которое ссылается на другое.
     */
    private BigInteger object_id;
   /**
    * ID оружия, на которое ссылаются.
    */
    private BigInteger reference_object_id;
    /**
     * ID свойства оружия.
     */
    private BigInteger property_id;

    /**
     * Полный конструктор.
     * @param object_reference_id ID записи.
     * @param object_id ID оружие, которое ссылает.
     * @param reference_object_id ID оружия, на которое ссылаются.
     * @param property_id ID свойства.
     */
    public DBObjectReference(BigInteger object_reference_id, BigInteger object_id, BigInteger reference_object_id, BigInteger property_id) {
        this.object_reference_id = object_reference_id;
        this.object_id = object_id;
        this.reference_object_id = reference_object_id;
        this.property_id = property_id;
    }

    /**
     * Конструктор для созадния объекта в базе.
     * @param object_id ID оружия
     * @param reference_object_id ID оружия, на которое ссылаются
     * @param property_id ID свойства.
     */
    public DBObjectReference(BigInteger object_id, BigInteger reference_object_id, BigInteger property_id) {
        this.object_reference_id = new BigInteger("-1");
        this.object_id = object_id;
        this.reference_object_id = reference_object_id;
        this.property_id = property_id;
    }

    /**
     * Получить id свойства.
     * @return ID свойства
     */
    public BigInteger getProperty_id() {
        return property_id;
    }

    /**
     * Установить  ID свойства.
     * @param property_id  ID свойства
     */
    public void setProperty_id(BigInteger property_id) {
        this.property_id = property_id;
    }

    /**
     * Получить  ID оружия, на которое ссылаются.
     * @return  ID оружия на которое ссылаются
     */
    public BigInteger getReference_object_id() {
        return reference_object_id;
    }

    /**
     * Установить  ID оружия, на которое ссылаются
     * @param reference_object_id ID на которое ссылаются.
     */
    public void setReference_object_id(BigInteger reference_object_id) {
        this.reference_object_id = reference_object_id;
    }

    /**
     * Получить  ID оружия.
     * @return  ID оружия.
     */
    public BigInteger getObject_id() {
        return object_id;
    }

    /**
     * Установить  ID оружия.
     * @param object_id  ID оружия.
     */
    public void setObject_id(BigInteger object_id) {
        this.object_id = object_id;
    }

    /**
     * Получить  ID записи.
     * @return  ID записи.
     */
    public BigInteger getObject_reference_id() {
        return object_reference_id;
    }

    /**
     *  Установить  ID записи
     * @param object_reference_id  ID записи.
     */
    public void setObject_reference_id(BigInteger object_reference_id) {
        this.object_reference_id = object_reference_id;
    }
}
